[scan] Fix device selection issue fallback scenario #21772
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #21768 when there is no device match for a given name.
Checklist
bundle exec rspec
from the root directory to see all new and existing tests passbundle exec rubocop -a
to ensure the code style is validci/circleci
builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)Motivation and Context
Resolves 21768
Description
This was a regression from 2.218 which introduces nil when the device string did not return a matching item (Steps described in the issue report). It causes the second lambda to not be used and hence there was an error instead of using a default device.
Previously (v2.217.0) it retuned an empty array in such case. This implementation restores the old behaviour by removing all nil values from the array such as [nil] -> []
I have run it locally by installing this gem from source. The rest of the steps are same as per the issue report.
Testing Steps